<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /**
         * 将转义后的 HTML 实体解码为原始字符
         * @param {string} str - 转义后的字符串
         * @returns {string} 解码后的字符串
         */
        function unescapeHTML(str) {
            if (typeof str !== 'string') return
            const unescapeMap = {
                '&amp;': '&',
                '&lt;': '<',
                '&gt;': '>',
                '&quot;': '"',
                '&#39;': "'",
                '&#x2F;': '/', // 对应 escapeHTML 中的 '/'
            };
            // 使用正则匹配所有已知实体并替换
            return str.replace(/&(amp|lt|gt|quot|#39|#x2F);/g, match => unescapeMap[match]);
        }
        const original = unescapeHTML(safe);
        console.log(original);
    </script>
</body>
</html>